package cn.lg.soar.system.api.model;

import cn.lg.soar.system.api.enums.PermitLevelEnum;
import lombok.Data;

import java.time.Duration;
import java.util.Map;
import java.util.Set;

/**
 * @author luguoxiang
 * @date 2022/4/4
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Data
public class AuthProps {

    /**
     * 访问token有密钥
     */
    private String accessTokenSecret;

    /**
     * 访问token有效期
     */
    private Duration accessTokenExpire = Duration.ofMinutes(30);

    /**
     * 根据用户类型鉴权
     */
    private Map<Integer, Set<String>> userTypeAuthPermit;

    /**
     * 权限映射
     */
    private Map<PermitLevelEnum, Set<String>> permitMapper;

    /**
     * 默认权限映射（permit-mapper 未配置的接口默认的权限级别）
     */
    private PermitLevelEnum permitMapperDefault;

    /**
     * 登录接口
     */
    private Set<String> loginPaths;

}
